package logica.jugadores;

import java.io.Serializable;

import ValueObjects.VOPartida;
import logica.partidas.Partida;
import logica.partidas.Partidas;

public class Jugador implements Serializable {
	
	private static final long serialVersionUID = 1L;
	private String nombre;
	private String codigo;
	private int puntajeAlMomento;
	private int cantidadAcertadas;
	private int cantidadErradas;
	private Partidas listaPartidas;
	
	public Jugador(){
		nombre = new String();
		codigo = new String();
		puntajeAlMomento = 0;
		cantidadAcertadas = 0;
		cantidadErradas = 0;
		listaPartidas = new Partidas();
	}
	
	public Jugador(String nom, String cod,int PuntajeAlMomento,int CantidadAcertadas,int CantidadErradas) {
		nombre = nom;
		codigo = cod;
		puntajeAlMomento = PuntajeAlMomento;
		cantidadAcertadas = CantidadAcertadas;
		cantidadErradas = CantidadErradas;
		listaPartidas = new Partidas();
	}
	
	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nom) {
		nombre = nom;
	}

	public String getCodigo() {
		return codigo;
	}

	public void setCodigo(String cod) {
		codigo = cod;
	}


	public int getPuntajeAlMomento() {
		return puntajeAlMomento;
	}
	
	public void setPuntajeAlMomento(int puntaje) {
		puntajeAlMomento = puntaje;
	}
	
	public int getCantidadAcertadas() {
		return cantidadAcertadas;
	}
	
	public void setCantidadAcertadas(int acertadas) {
		cantidadAcertadas = acertadas;
	}
	
	public int getCantidadErradas() {
		return cantidadErradas;
	}
	
	public void setCantidadErradas(int erradas) {
		cantidadErradas = erradas;
	}

	public boolean hayPeliculasSinjugar(int cantidad){
		if(cantidad==listaPartidas.cantidadPartidas())
			return false;
		else
			return true;
	}
	
	public boolean verificarTituloSorteado(String titulo){
		boolean encontre=false;
		for(int i=0;i<listarPartidas().length;i++){
		if(listarPartidas()[i].getPelicula().getTitulo().equals(titulo))
			encontre= true;
		 
	}
		return encontre;
	}	
	
	public void agregarPartida(Partida nuevaPartida){
		listaPartidas.insBack(nuevaPartida);
	}
	
	public boolean hayPartidas(){
		return (listaPartidas.cantidadPartidas()!=0);
	}
	
	public Partida ultimaPartida(){
		return listaPartidas.ultimaPartidaJugada();
	}
	
	public VOPartida[] listarPartidas(){		
		return listaPartidas.listarPartidas();
	}

}
